﻿namespace WMS6.Services
{
    using System;
    using System.Collections.Generic;
    using System.Data;
    using System.ServiceModel;
    using WMS6.Common;
    using WMS6.DataEntity;
    using WMS6.QueryEntity;

    [ServiceContract(Namespace="WMS6.Services")]
    public interface IRoleFunctionService
    {
        [OperationContract, FaultContract(typeof(FaultDetail))]
        string DeleteRoleAndRoleFunction(List<string> roleID, PubParasInfo pubParasInfo);
        [OperationContract, FaultContract(typeof(FaultDetail))]
        DataSet GetAllFunctionList();
        [FaultContract(typeof(FaultDetail)), OperationContract]
        List<string> GetOperationByUserIDAndFunctionID(string userID, string functionID, PubParasInfo pubParasInfo);
        [FaultContract(typeof(FaultDetail)), OperationContract]
        DataSet GetRoleAndRoleFunctionDataByRoleId(string roleId, PubParasInfo pubParasInfo);
        [OperationContract, FaultContract(typeof(FaultDetail)), ServiceKnownType(typeof(RoleFunctionQueryEntity))]
        DataSet GetRoleFunctionData(string id, string type, PubParasInfo pubParasInfo);
        [FaultContract(typeof(FaultDetail)), OperationContract]
        DataSet GetRoleMenuData(string roleID, string currentWH, string isShowQuery, PubParasInfo pubParasInfo);
        [FaultContract(typeof(FaultDetail)), OperationContract]
        DataSet GetWHDataByUserID(string userID, PubParasInfo pubParasInfo);
        [OperationContract, FaultContract(typeof(FaultDetail))]
        string UpdateRoleFunctionAndOperationByRoleGID(string type, RoleInfo roleInfo, List<string> FunctionTrueList, List<string> FunctionFalseList, List<string> OperationTrueList, List<string> OperationFalseList, string strCopyName, PubParasInfo pubParasInfo);
    }
}

